import java.util.Scanner;
import java.util.*;
public class test1 {
    /*给定由一些正数（代表长度）组成的数组 nums ，
    返回 由其中三个长度组成的、面积不为零的三角形的最大周长 。如果不能形成任何面积不为零的三角形，返回 0。*/
    public static int seek(int[] nums) {
        int result=0;
        int c=0;
        Arrays.sort(nums);
        if(nums.length==3){
            if(nums[0]+nums[1]>nums[2]&&Math.abs(nums[0]-nums[1])<nums[2])
                return nums[0]+nums[1]+nums[2];
        }
        if(nums.length<3)return 0;
        for(int i=2;i<nums.length;i++){
            if(Math.abs(nums[i]-nums[i-1])<nums[i-2]&&nums[i]+nums[i-1]>nums[i-2]){
                c+=nums[i-1]+nums[i-2]+nums[i];
                result=Math.max(result,c);
            }
        }
        return result;
    }
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        int n=sc.nextInt();
        int[] nums=new int[n];
        for(int i=0;i<n;i++){
            nums[i]=sc.nextInt();
        }
        int maxc=seek(nums);
        System.out.println(maxc);
    }
}
